HTC One M8 (htc-m8)

From postmarketOS Wiki
HTC One M8
HTC One M8
HTC One M8
Manufacturer HTC
Name One M8
Codename htc-m8
Released 2014
Type handset
Hardware
Chipset Qualcomm Snapdragon 801 (MSM8974AB)
CPU 4x 2.45 GHz Krait 400
GPU Adreno 330
Display 1080x1920 Super LCD3
Storage 16 or 32 GB
Memory 2 GB LPDDR3
Architecture armv7
Software
Original software Android
postmarketOS
Category testing
Pre-built images no
Features
Flashing
Works
USB Networking
Works
Internal storage
SD card
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Audio
Camera
Broken
Camera Flash
Connectivity
WiFi
Works
Bluetooth
GPS
NFC
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
USB OTG
Works
HDMI/DP
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Haptics
Barometer


Contributors

Maintainers

Users owning this device


Bootloader unlocking

Although HTC supports unlocking the bootloader through an online service on https://www.htcdev.com/, this makes postmarketOS depend on HTC in the long term, which is dangerous. There seems to be some exploit for the M8, which was not tested yet on this device: https://gus33000.me/2019/01/05/secureboot-flaw-for-all-wp-devices-literally/

How to enter flash mode

Hold the Power and Vol- button while the device is off, or hold the Vol- and then hold the Power button while the phone is on so it will force-reboot to the hboot mode, then select fastboot.

Installation

The Device Tree image is not generated by pmbootstarp properly. Copying one from a TWRP boot image into the initramfs then recompiling works. Use this tool (or download the whole dt.img from me) to unpack the TWRP image, then copy the boot.img-htc-m8-dt file to the ~/.local/var/pmbootstrap/chroot_rootfs_htc-m8/boot, rename it to dt.img and pmbootstrap install. After that, just use pmbootstrap flasher flash_kernel and pmbootstrap flasher flash_rootfs.
The Device Tree image is now generated properly and the standard pmbootstrap flasher flash_kernel and pmbootstrap flasher flash_rootfs can be used to install.

Note The device might freeze after flashing. If it doesn't boot after 5 minutes, force-reboot it (hold the power button until the device restarts)

The device currently seems to get as far as booting the kernel but freezes before SSH becomes fully available (or displays Connection refused when trying to connect before it freezes.

See also